/*
 * Copyright (C) 2012 Realtek Semiconductor Corp.
 * All Rights Reserved.
 *
 * This program is the proprietary software of Realtek Semiconductor
 * Corporation and/or its licensors, and only be used, duplicated,
 * modified or distributed under the authorized license from Realtek.
 *
 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
 *
 */


#include "app_basic.h"

MIB_TABLE_INFO_T gMibOltLocationCfgDataTableInfo;
MIB_ATTR_INFO_T  gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ATTR_NUM];
MIB_TABLE_OLTLOCATIONCFGDATA_T gMibOltLocationCfgDataDefRow;
MIB_TABLE_OPER_T gMibOltLocationCfgDataOper;


GOS_ERROR_CODE OltLocationCfgDataDrvCfg(void* pOldRow, void* pNewRow, MIB_OPERA_TYPE operationType, MIB_ATTRS_SET attrSet, UINT32 pri)
{

	OMCI_LOG(OMCI_LOG_LEVEL_DBG, "Start %s...", __FUNCTION__);

    	switch (operationType){
		case MIB_SET:
		{
			/*Record OltLocationCfgData be set*/
			gInfo.oltLocationState = 1;
			break;
		}
		default:
			break;
	}
	return GOS_OK;
}

GOS_ERROR_CODE mibTable_init(MIB_TABLE_INDEX tableId)
{
    gMibOltLocationCfgDataTableInfo.Name = "OLTLocationConfigData";
    gMibOltLocationCfgDataTableInfo.ShortName = "OLTLOCATION";
    gMibOltLocationCfgDataTableInfo.Desc = "OLT Location Config Data";
    gMibOltLocationCfgDataTableInfo.ClassId = (UINT32)(OMCI_ME_CLASS_CTC_OLT_LOCATION_CFG_DATA);
    gMibOltLocationCfgDataTableInfo.InitType = (UINT32)(OMCI_ME_INIT_TYPE_ONU);
    gMibOltLocationCfgDataTableInfo.StdType = (UINT32)(OMCI_ME_TYPE_PROPRIETARY | OMCI_ME_TYPE_NOT_MIB_UPLOAD);
    gMibOltLocationCfgDataTableInfo.ActionType = (UINT32)(OMCI_ME_ACTION_SET | OMCI_ME_ACTION_GET);
    gMibOltLocationCfgDataTableInfo.pAttributes = &(gMibOltLocationCfgDataAttrInfo[0]);

	gMibOltLocationCfgDataTableInfo.attrNum = MIB_TABLE_OLTLOCATIONCFGDATA_ATTR_NUM;
	gMibOltLocationCfgDataTableInfo.entrySize = sizeof(MIB_TABLE_OLTLOCATIONCFGDATA_T);
	gMibOltLocationCfgDataTableInfo.pDefaultRow = &gMibOltLocationCfgDataDefRow;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Name = "EntityId";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Longitude";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Latitude";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Elevation";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Horizontalerror";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Altitudeerror";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].Name = "Areacode";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].Name = "TimeStamp";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].Name = "GISDigest";

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Entity ID";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Longitude";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Latitude";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Elevation";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Horizontalerror";
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Altitudeerror";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "Areacode";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "TimeStamp";
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].Desc = "GISDigest";

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT32;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT32;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT16;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT64;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT32;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].DataType = MIB_ATTR_TYPE_UINT64;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Len = 4;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].Len = 4;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].Len = 2;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].Len = 8;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].Len = 4;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].Len = 8;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = TRUE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].IsIndex = FALSE;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].MibSave = TRUE;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_HEX;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_DEC;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].OutStyle = MIB_ATTR_OUT_HEX;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].OltAcc = OMCI_ME_ATTR_ACCESS_READ | OMCI_ME_ATTR_ACCESS_WRITE;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].AvcFlag = FALSE;

    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ENTITYID_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LONGITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_LATITUDE_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ELEVATION_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_OPTIONAL;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_HORIZONTALERROR_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_OPTIONAL;
    gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_ALTITUDEERROR_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_OPTIONAL;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_AREACODE_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_TIMESTAMP_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;
	gMibOltLocationCfgDataAttrInfo[MIB_TABLE_OLTLOCATIONCFGDATA_GISDIGEST_INDEX - MIB_TABLE_FIRST_INDEX].OptionType = OMCI_ME_ATTR_TYPE_MANDATORY;

    memset(&(gMibOltLocationCfgDataDefRow.EntityId), 0x00, sizeof(gMibOltLocationCfgDataDefRow.EntityId));
	memset(&(gMibOltLocationCfgDataDefRow.Longitude), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Longitude));
	memset(&(gMibOltLocationCfgDataDefRow.Latitude), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Latitude));
	memset(&(gMibOltLocationCfgDataDefRow.Elevation), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Elevation));
	memset(&(gMibOltLocationCfgDataDefRow.Horizontalerror), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Horizontalerror));
	memset(&(gMibOltLocationCfgDataDefRow.Altitudeerror), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Altitudeerror));
	memset(&(gMibOltLocationCfgDataDefRow.Areacode), 0x00, sizeof(gMibOltLocationCfgDataDefRow.Areacode));
	memset(&(gMibOltLocationCfgDataDefRow.TimeStamp), 0x00, sizeof(gMibOltLocationCfgDataDefRow.TimeStamp));
	memset(&(gMibOltLocationCfgDataDefRow.GISDigest), 0x00, sizeof(gMibOltLocationCfgDataDefRow.GISDigest));

    memset(&gMibOltLocationCfgDataOper, 0x0, sizeof(MIB_TABLE_OPER_T));
    gMibOltLocationCfgDataOper.meOperDrvCfg = OltLocationCfgDataDrvCfg;
    gMibOltLocationCfgDataOper.meOperConnCheck = NULL;
    gMibOltLocationCfgDataOper.meOperDump = omci_mib_oper_dump_default_handler;
	gMibOltLocationCfgDataOper.meOperConnCfg = NULL;

	MIB_TABLE_OLT_LOCATION_CFG_DATA_INDEX = tableId;
    MIB_InfoRegister(tableId, &gMibOltLocationCfgDataTableInfo, &gMibOltLocationCfgDataOper);

    return GOS_OK;
}

